﻿using sipfe.Controllers.Base;
using sipfe.model.dataAccess;
using sipfe.service.reporte;
using sipfe.util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace sipfe.Areas.Reporte.Controllers
{
    public class ReporteController : BaseSipfeController
    {
        public ActionResult ReporteCab()
        {
            return View();
        }

        public ActionResult PasosDelTramite(string nIdeSol, string nSeqPaso, string nSeqActor, string solicitud)
        {
            ViewBag.nIdeSol     =   nIdeSol;
            ViewBag.nSeqPaso    =   nSeqPaso;
            ViewBag.nSeqActor   =   nSeqActor;
            ViewBag.solicitud   =   solicitud;
            ReporteService reporteService = new ReporteService();
            return View(reporteService.DatosGeneralesService(Int32.Parse(nIdeSol)));            
        }

        public ActionResult DatosGenerales(string nIdeSol, string nSeqPaso, string nSeqActor, string solicitud, string clase)
        {
            string vistaMostrar = "DatosGenerales";
            ViewBag.nIdeSol     =   nIdeSol;
            ViewBag.nSeqPaso    =   nSeqPaso;
            ViewBag.nSeqActor   =   nSeqActor;
            ViewBag.solicitud   =   solicitud;
            ReporteService reporteService = new ReporteService();

            if (clase.Equals(Constante.CLASE_TRAMITE.NIC))
            {
                vistaMostrar = "DatosGeneralesNic";
            }
            else if (clase.Equals(Constante.CLASE_TRAMITE.NIA))
            {
                vistaMostrar = "DatosGeneralesNia";
            }

            return View(vistaMostrar,reporteService.DatosGeneralesService(Int32.Parse(nIdeSol)));
        }

        public ActionResult Trazabilidad()
        {
            ViewBag.ClaseTramite = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_CLASE_TRAMITE);
            return View();
        }





        public ActionResult TrazabilidadDet(int nIdeDepSolicitud, int nIdeClaseSolicitud, int nAnnSolicitud, int nNumCorre,string clase)
        {
            //nIdeDepSolicitud: nIdeDepSolicitud, nIdeClaseSolicitud: nIdeClaseSolicitud, nAnnSolicitud: nAnnSolicitud, nNumCorre: nNumCorre };
            
            string vistaMostrar = "TrazabilidadDet";
            
            ReporteService reporteService = new ReporteService();

            if (clase.Equals(Constante.CLASE_TRAMITE.NIC))
            {
                vistaMostrar = "TrazabilidadDetNic";
            }
            else if (clase.Equals(Constante.CLASE_TRAMITE.NIA))
            {
                vistaMostrar = "TrazabilidadDetNia";
            }
            List<SIPMaeSolicitud> lista = new List<SIPMaeSolicitud>();
            lista=reporteService.TrazabilidadDetService(nIdeDepSolicitud, nIdeClaseSolicitud, nAnnSolicitud, nNumCorre);
            if (lista.Count <= 0) vistaMostrar=_pagina;
            return View(vistaMostrar,lista );
        }

        public ViewResult ListaPersonaReporte(string v_NombresPersona, string tipoPersona)
        {
            ReporteService reporteService = new ReporteService();
            string vista = "ListaPersonaReporte";

            if (tipoPersona.Equals("1"))
            {
               // List<SIPMaePersona> lista = new List<SIPMaePersona>();
               // lista = reporteService.ListaPersonaReporteService(v_NombresPersona);
                return View(vista, reporteService.ListaPersonaReporteService(v_NombresPersona));
            }
            else
            {                
                vista = "ListaEmpresaReporte";
                return View(vista, reporteService.ListaEmpresasManteService(v_NombresPersona));
            }

            //ListaEmpresasManteService

            //PersonaService personaService = new PersonaService();
            //List<SIPMaePersona> lista = new List<SIPMaePersona>();
           // lista = personaService.ListaPersonaManteService(v_NombresPersona);
            //return View(vista,lista);
        }

        

    }
}
